home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / os2 / sysxdump.zip / SYSXDUMP.INF (.txt) < prev   
OS/2 Help File  |  1994-01-24  |  27KB  |  792 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Introduction ΓòÉΓòÉΓòÉ
  3.  
  4. Please read this document in entirety.  I took the time to make it explicit, 
  5. clear, and very useful.  It took me longer to write it than it will ever take 
  6. you to read it.  Therefore, you owe it to both of us to read it.  OK? 
  7.  
  8. SysXDump is an OS/2 2.X command line application that allows you to dump MIDI 
  9. System Exclusive information (ie, Patch settings, waveform data, etc) from your 
  10. external MIDI gear to the computer, and store that information on your 
  11. computer's media (ie, hard drive, floppies).  Subsequently, SysXDump data files 
  12. can be sent back to the MIDI gear, again using SysXDump, to quickly restore 
  13. those settings on the MIDI gear.  So, this utility allows you to backup and 
  14. restore the settings of MIDI gear, utilizing the computer's storage medium. 
  15. Typically, floppy disk and hard drive storage is much cheaper than those RAM 
  16. cards or some sort of dedicated MIDI "recorder" to capture SYSEX dumps. 
  17.  
  18. SysXDump also allows handshaking for most Roland gear, or any MIDI sampler that 
  19. follows the MIDI Sample Dump Standard (ie, Prophet 2000/3000, Emu 
  20. Emulator/Emax, Peavey SP/DPM/SX, AKAI S1000 and derivatives, etc).  This not 
  21. only allows you to verify the dump for any errors, but often also improves the 
  22. speed of transfer. 
  23.  
  24.  
  25. Some of the words in this manual are highlighted in bold text, such as 
  26. Handshake.  These are words that refer to SysXDump menu choices which you can 
  27. choose.  Other words are in colored text such as Channel Pressure.  These refer 
  28. to MIDI messages (ie, data).  Underlined words, such as Pitch Wheel, refer to 
  29. hardware, such as if I was referring to the Pitch Wheel on your MIDI unit. 
  30. Words that are in colored text such as Read This are meant to be emphasized. 
  31. Words in italics refer to aspects of OS/2. 
  32.  
  33. This is version 1.0, copyright 1994 by Jeff Glatt. 
  34.  
  35.  
  36. ΓòÉΓòÉΓòÉ 2. Driver Requirements and Setup ΓòÉΓòÉΓòÉ
  37.  
  38. Of course, your computer needs some sort of MIDI interface card (ie, with MIDI 
  39. IN and OUT jacks) to connect the computer to the MIDI unit.  Many Sound Cards 
  40. offer the option of attaching a "box" with MIDI connectors to the card's 
  41. joystick port.  This is the same thing as having a separate card that just does 
  42. MIDI input and output. 
  43.  
  44. SysXDump requires that your MIDI interface or Sound Card has an OS/2 driver. 
  45. Information sent to this driver via DosWrite() must be interpreted as outgoing 
  46. MIDI data.  (It would have to be a rather strange driver if it didn't interpret 
  47. data in this way, but if you're using a sound card with WAVE playback in 
  48. addition to a MIDI interface, it's conceivable that the Sound Card might 
  49. interpret DosWrite() data to be WAVE data).  Furthermore, information returned 
  50. by this driver via DosRead() must be incoming MIDI data. 
  51.  
  52. Note:  SysXDump does not use MMPM.  Such a driver will not work with SysXDump 
  53.        unless it meets the above requirements.  Certain drivers are not very 
  54.        well-written, and they will crash the entire system if a program sends 
  55.        them particular streams or values of bytes via DosWrite().  An OS/2 
  56.        driver is never supposed to do this.  After all, this is a "protected" 
  57.        OS, and DosWrite() is supposed to be a completely generic way of sending 
  58.        any stream of bytes to a driver.  But due to its ring 0 nature, a 
  59.        physical device driver (ie, PDD) has the power to completely trash your 
  60.        entire system.  For example, the Sound Blaster MMPM driver does 
  61.        dangerous things with data sent via DosWrite().  Use that driver with 
  62.        this software only at your own risk.  For your own sake, never redirect 
  63.        the stdout of any program to this driver, or you may be reinstalling 
  64.        OS/2 on your HD.  You'll know if a driver crashes your system, as versus 
  65.        an application, because an application will simply pop up a recoverable 
  66.        exception requester that lets you safely remove it from memory and 
  67.        continue, but a crashed driver may very well bang on your hardware, 
  68.        trash your HD, cause a Register Dump from which you'll have to reboot 
  69.        the computer, or do a number of very dangerous things.  Badly written 
  70.        drivers are deadly because, unlike with a 32-bit (protected mode) 
  71.        program running at ring 3, the OS can't protect itself, other programs, 
  72.        and your computer's hardware from an evil PDD.
  73.  
  74. You must also know your driver's internal name (which might be different than 
  75. the filename of the driver).  Often, this is the driver filename minus the .SYS 
  76. extension.  For example, I use a Roland RAP-10 audio card which has an MPU-401 
  77. compatible MIDI interface built into it.  There is a shareware OS/2 driver 
  78. available for the MPU-401 by the following manufacturer: 
  79.  
  80. Delta Music Systems 
  81. 2615 Ginghamsburg-Frederick Rd. 
  82. Tipp City, OH 45371 
  83.  
  84. This driver's internal name is MPU401.  It properly interprets DosWrite() data 
  85. as MIDI data, and ships it out of any MPU-401 compatible interface.  So, you 
  86. can use this driver with SysXDump, and any card that has an MPU-401 compatible 
  87. interface (in hardware, not just a software driver simulation).  Such cards 
  88. include the MPU-401, MidiQuest interfaces, SCC-1, the RAP-10, and numerous 
  89. other 100% compatible MPU-401 clones. 
  90.  
  91. By default, SysXDump will use that driver, and so you don't have to supply it 
  92. with that name.  If you want SysXDump to use a different driver, then you must 
  93. supply the name of the driver to SysXDump.  If you run SysXDump from an OS/2 
  94. Command Prompt, then simply type the name of your driver as an argument 
  95. immediately preceeded by "/D".  For example, a driver with the internal name 
  96. RAP10 would be specified as /DRAP10. 
  97.  
  98. If you run SysXDump from a Desktop icon, open up the Settings menu for that 
  99. program.  In the Parameters field, type the name of your driver, preceeded by 
  100. the /D.  Now whenever you run SysXDump from the Desktop, it will use that 
  101. driver. 
  102.  
  103. Note:  Remember to omit the .SYS extension from the driver name.
  104.  
  105. If SysXDump can't open the specified driver, it will display an error message 
  106. and its template, and then terminate. 
  107.  
  108. If not using the Delta Music Systems driver, then specify the /N switch when 
  109. invoking the program.  This will cause SysXDump to skip some MPU-401 
  110. initialization code for that driver. 
  111.  
  112. There are other startup parameters that you can pass to SysXDump, either by 
  113. adding them to the command line, or entering them in the Parameters field of 
  114. the Desktop icon. These will be covered later. 
  115.  
  116.  
  117. ΓòÉΓòÉΓòÉ 3. Menu ΓòÉΓòÉΓòÉ
  118.  
  119. After SysXDump starts up, it presents a menu choice in an OS/2 Command Prompt 
  120. Window.  The menu looks like this: 
  121.  
  122. Enter a command: 
  123.  
  124.  S (path\)filename       to Send a data dump to the MIDI unit 
  125.  
  126.  R (path\)filename       to Receive a data dump from the MIDI unit 
  127.  
  128.  F (path\)filespec       to list Files in a directory 
  129.  
  130.  H                       toggle Handshaking ON/OFF 
  131.  
  132.  Esc                     Exit program 
  133.  
  134. You can make one of the preceeding selections.  For example, if you wish to 
  135. receive a data dump from the MIDI unit, press the r key on your computer. 
  136.  
  137. Note:  It doesn't matter if you use lower or upper case (ie, r or R).
  138.  
  139. Depending upon which command you select, you may be prompted to type in more 
  140. input.  Here is a description of each menu choice: 
  141.  
  142.  
  143. ΓòÉΓòÉΓòÉ 3.1. Handshake ON/OFF ΓòÉΓòÉΓòÉ
  144.  
  145. Press h to toggle handshaking ON or OFF.  If it was ON, pressing h turns it 
  146. off, and displays the message "Handshaking is OFF.".  If it was OFF, pressing h 
  147. turns it on.  Then, SysXDump asks you to choose which type of handshaking, 
  148. Roland or MIDI Sample Dump Standard (SDS).  Press 1 for Roland, or 2 for SDS. 
  149.  
  150. Most Roland units support the Roland type of handshaking, regardless of what 
  151. kind of unit it is.  But, each Roland model has its own Model ID.  Check the 
  152. unit's owners manual to determine the Model ID.  It's usually in the MIDI 
  153. Implemention section under System Exclusive.  It will be a 2 digit 
  154. (hexadecimal) number.  After you select Roland handshaking, SysXDump will 
  155. present you with a list of Roland units whose Model ID SysXDump knows.  If you 
  156. find your unit in the list, select the number preceding it.  If your unit is 
  157. not in the list, select the Other choice.  Then, you will be asked to enter 
  158. that 2 digit Model ID. 
  159.  
  160. SDS handshaking is for samplers.  SDS is a protocol for transmitting waveform 
  161. data.  A number of samplers support SDS.  Consult your owners manual to see if 
  162. your unit does. 
  163.  
  164. Note:  If you intend to use Handshaking on transfers, turn it ON before you 
  165.        perform any send or receive of data.  Make sure that you also set up 
  166.        your MIDI unit to perform handshaking on its dumps.  Some units give you 
  167.        a choice of enabling/disabling handshaking.
  168.  
  169. You can specify handshaking ON when you start SysXDump by using the /H1xx and 
  170. /H2 switches on the command line.  /H1xx is for Roland handshaking, where xx is 
  171. the Model ID.  /H2 is for SDS handshaking.  For example, to start SysXDump 
  172. using the BLORT driver and handshaking for a Roland D-70 (Model ID is 39): 
  173.  
  174. SysXDump /DBLORT /H139 
  175.  
  176. If running SysXDump from a Desktop icon, you can open up the Settings and type 
  177. the /H1xx or /H2 switch in the Parameters field.  For example, the above 
  178. example would be: 
  179.  
  180. /DBLORT /H139 
  181.  
  182. In this way, everytime that you run SysXDump, handshaking will already be setup 
  183. and enabled for a D-70. 
  184.  
  185.  
  186. ΓòÉΓòÉΓòÉ 3.2. Receive a file ΓòÉΓòÉΓòÉ
  187.  
  188. Press r to choose to receive a file from the MIDI unit (ie, the MIDI unit will 
  189. be sending its data to the computer, to be stored in a data file on your 
  190. computer's HD or floppy drive). 
  191.  
  192. SysXDump next prompts you to type the desired filename, followed by RETURN. 
  193. You can prepend a path if you don't want the filename to be saved in the 
  194. current directory.  For example, to save the data in a file called Blort in the 
  195. directory MyDir on your C: drive: 
  196.  
  197. C:\MyDir\Blort 
  198.  
  199. Note:  SysXDump will check for the existance of the filename that you choose. 
  200.        If that file already exists, you will asked if you wish to overwrite 
  201.        (ie, erase) that file.  Press Y for Yes, or N for no.  If you answer No, 
  202.        then the operation is aborted.
  203.  
  204. If using SDS handshaking, SysXDump asks you which wave number on the MIDI unit 
  205. you would like to receive. Type the number and press RETURN.  SysXDump will 
  206. then automatically initiate the receive so that you don't have to operate the 
  207. MIDI unit. 
  208.  
  209. If using Roland handshaking or no handshaking, you'll have to start the dump on 
  210. your MIDI unit.  Check the owners manual for how to do this. 
  211.  
  212. If SysXDump starts getting some data from your MIDI unit, you'll see the 
  213. message: 
  214.  
  215. Receiving a SysEx dump now... Esc will abort. 
  216. Pressing any other key finishes the dump. 
  217.  
  218. If you don't see this message, then something is wrong.  SysXDump isn't 
  219. receiving any data from your MIDI unit.  Review all of the possible causes in 
  220. No Sysex packets received!. 
  221.  
  222. If you see this message, then allow the dump to proceed all of the way to the 
  223. end.  You'll need to watch your MIDI unit for some sort of signal when the dump 
  224. is completed.  When the dump is done, press any key (except for Esc) to finish 
  225. the receive operation.  SysDump will then tell you how many bytes it received. 
  226.  
  227. At this point, it's a good idea to send the received data back to the MIDI unit 
  228. in order to verify that it contains no errors.  If you've got errors, your MIDI 
  229. unit should display an appropriate message.  Although SysXDump implements 
  230. handshaking, it doesn't implement error-checking the CheckSum on packets.  So, 
  231. it's conceivable that a corrupted packet could be received and stored.  But, if 
  232. this were the case, when you sent the data file back to the MIDI unit, the MIDI 
  233. unit would detect the error.  A good policy is to do 2 receives to separate 
  234. files, then follow them up with a send in order to test the integrity of the 
  235. files.  Once you've determined that a received file checks out OK, make a 
  236. backup of it. 
  237.  
  238. At any time, you can press the Esc key to abort the dump.  Whatever data was 
  239. received up to that point is erased. 
  240.  
  241. Note:  If you intend to use Handshaking on transfers, turn it ON before you 
  242.        receive any data.  Make sure that you also set up your MIDI unit to 
  243.        perform handshaking on its dumps.  Some units give you a choice of 
  244.        enabling/disabling handshaking.
  245.  
  246. Note:  Always set your MIDI unit's MIDI channel to 1 before any receive.  For 
  247.        Roland units, set the Device ID to 1.  In this way, you'll always avoid 
  248.        any MIDI channel or Device ID mismatches when later sending the file 
  249.        back to the MIDI unit.
  250.  
  251.  
  252. ΓòÉΓòÉΓòÉ 3.3. Send a file ΓòÉΓòÉΓòÉ
  253.  
  254. Press s to choose to send a data file to the MIDI unit. 
  255.  
  256. SysXDump next prompts you to type the desired filename, followed by RETURN. 
  257. You can prepend a path if the file isn't in the current directory.  For 
  258. example, to send the data file called Blort in the directory MyDir on your C: 
  259. drive: 
  260.  
  261. C:\MyDir\Blort 
  262.  
  263. SysXDump then displays a message telling you to press any key (except Esc) to 
  264. start the send.  This gives you an opportunity to place your MIDI unit into a 
  265. receive state, if needed.  If this doesn't need to be done, then simply press 
  266. any key to start the send. 
  267.  
  268. SysXDump will perform the send in entirety.  There's no need to press any key 
  269. when the send is complete.  If all went well, SysXDump will display the message 
  270. "Send complete.". 
  271.  
  272. At any time, you can press the Esc key to abort the send. 
  273.  
  274. Note:  If you intend to use Handshaking on transfers, turn it ON before you 
  275.        send any file.  Make sure that you also set up your MIDI unit to perform 
  276.        handshaking on its dumps.  Some units give you a choice of 
  277.        enabling/disabling handshaking.
  278.  
  279. Note:  Always set your MIDI unit's MIDI channel to 1 before any send.  For 
  280.        Roland units, set the Device ID to 1.  In this way, you'll always avoid 
  281.        any MIDI channel or Device ID mismatches with the MIDI channel that the 
  282.        data file was initially received upon.
  283.  
  284.  
  285. ΓòÉΓòÉΓòÉ 3.4. File Directory ΓòÉΓòÉΓòÉ
  286.  
  287. Press f to get a listing of the contents of some directory on your computer's 
  288. HD or floppy. 
  289.  
  290. SysXDump will ask you to enter the directory that you wish to examine.  Use a 
  291. full path if not the current directory. 
  292.  
  293. Then, SysXDump will list the files that match that file specification. 
  294.  
  295. Note:  You may use wild cards.  For example, to list all files in the directory 
  296.        BLORT on the C: drive which have the extension .hnd, type: 
  297.  
  298. C:\blort\*.hnd
  299.  
  300.  
  301. ΓòÉΓòÉΓòÉ 4. Error Messages ΓòÉΓòÉΓòÉ
  302.  
  303. Here are the possible error messages that you may see.  Following each message 
  304. is a description of likely causes for that error and possible remedies, and 
  305. what happens as a result of that error (ie, does the program terminate, or stop 
  306. transmission, or what?). 
  307.  
  308. When SysXDump finally terminates, as a result of a fatal error or the user 
  309. exiting, if the last operation performed by the software resulted in an error, 
  310. SysXDump returns a non-zero value to the OS. A 0 returned value indicates that 
  311. the last operation before termination was a success. Note that this is returned 
  312. in RC when calling SysXDump from a REXX script (which could be done if you 
  313. wanted to implement some sort of REXX patch editor for your MIDI unit using 
  314. SysXDump to perform any transfers). 
  315.  
  316.  
  317. ΓòÉΓòÉΓòÉ 4.1. XXX MIDI driver didn't open! ΓòÉΓòÉΓòÉ
  318.  
  319. Synopsis       XXX will be the driver name that you supplied to SysXDump (the 
  320.                default of MPU401 is used if you didn't supply a name).  This 
  321.                error means that the requested driver did not open, and 
  322.                therefore SysXDump can't do any MIDI input and output. 
  323.  
  324. Cause          Some other program already has this driver open and has denied 
  325.                any other program access to it (ie, no SHARED access). 
  326.  
  327. Cure           Terminate all other programs using this driver, and try SysXDump 
  328.                again.  Incidentally, SysXDump allows shared access, but you 
  329.                should avoid simultaneously running programs that get MIDI 
  330.                input.  Shared MIDI output is fine, but only while SysXDump is 
  331.                not engaged in sending a file to the MIDI unit. 
  332.  
  333. Cause          The driver isn't installed properly with an entry in your 
  334.                config.sys file. 
  335.  
  336. Cure           Check that entry in your config.sys file. 
  337.  
  338. Cause          The name you supplied is not the true, internal name of the 
  339.                driver.  Every driver has an ascii string embedded inside of it, 
  340.                which is its real name as far as OS/2 is concerned.  This might 
  341.                not be the same as the driver's filename.  Usually, it is the 
  342.                filename minus the .SYS extension. 
  343.  
  344. Cure           Contact the author of the driver and verify the driver's name 
  345.                for a DosOpen(). 
  346.  
  347. Error occurs   Only during program startup. 
  348.  
  349. Result         SysXDump terminates returning RC=100. 
  350.  
  351.  
  352. ΓòÉΓòÉΓòÉ 4.2. DosDevIOCtl 0xFF error: return code = XXXXXXXX ΓòÉΓòÉΓòÉ
  353.  
  354. Synopsis       XXXXXXXX is the error number (in hex) returned by the driver 
  355.                after SysXDump sent a 0xFF to its IoCtl interface.  The Delta 
  356.                Music Systems driver uses this scheme to reset an MPU-401. 
  357.                That's what SysXDump needs to do when using an MPU-401.  So, I 
  358.                do it this way.  (The RAP-10 also needs to receive a 0xFF reset 
  359.                before SysXDump can do MIDI input on it.  I've chosen to follow 
  360.                the Delta Music Systems protocol in the RAP-10 driver that I've 
  361.                written). 
  362.  
  363. Cause          If you're not using an MPU-401 or compatible MIDI interface, 
  364.                then it probably doesn't need to be reset like this, its driver 
  365.                will probably not recognize what SysXDump is telling it to do, 
  366.                and you'll see the error message. 
  367.  
  368. Cure           Specify the /N option when running SysXDump.  This tells 
  369.                SysXDump that you don't want it to try to reset the MIDI 
  370.                interface using the Delta Music Systems' driver procedure. For 
  371.                example, if you had a driver named BLORT, and you didn't want it 
  372.                reset, here's what you might type as arguments when running the 
  373.                program (or type into the Parameters field of the Desktop icon) 
  374.  
  375.                /DBLORT /N 
  376.  
  377. Error occurs   Only during program startup. 
  378.  
  379. Result         SysXDump doesn't regard this as a real error.  It's essentially 
  380.                ignored except for displaying the message. 
  381.  
  382.  
  383. ΓòÉΓòÉΓòÉ 4.3. DosDevIOCtl 0x3F error: return code = XXXXXXXX ΓòÉΓòÉΓòÉ
  384.  
  385. Synopsis       XXXXXXXX is the error number (in hex) returned by the driver 
  386.                after SysXDump sent a 0x3F to its IoCtl interface.  The Delta 
  387.                Music Systems driver uses this scheme to place an MPU-401 into 
  388.                UART mode (instead of "intelligent" mode).  That's what SysXDump 
  389.                needs to do when using an MPU-401.  See the preceeding error 
  390.                message. 
  391.  
  392. Cause          If you're not using an MPU-401 or compatible MIDI interface, 
  393.                then it probably doesn't need to be placed into a UART mode, its 
  394.                driver will probably not recognize what SysXDump is telling it 
  395.                to do, and you'll see the error message. 
  396.  
  397. Cure           Specify the /N option when running SysXDump.  This tells 
  398.                SysXDump that you don't want it to try to place the MIDI 
  399.                interface into UART mode using the Delta Music Systems' driver 
  400.                procedure. 
  401.  
  402. Error occurs   Only during program startup. 
  403.  
  404. Result         SysXDump doesn't regard this as a real error.  It's essentially 
  405.                ignored except for displaying the message. 
  406.  
  407.  
  408. ΓòÉΓòÉΓòÉ 4.4. Can't create semaphore! ΓòÉΓòÉΓòÉ
  409.  
  410. Synopsis       SysXDump uses multiple threads for inputting and outputting MIDI 
  411.                data.  This allows you to abort any MIDI transfer in progress, 
  412.                or end the program at any time, by pressing the ESC key on your 
  413.                computer.  SysXDump needs OS/2 to give it a semaphore for such 
  414.                use. 
  415.  
  416. Cause          For some reason, OS/2 didn't give SysXDump its requested 
  417.                semaphore. 
  418.  
  419. Cure           Shut down other apps, or OS/2 itself, and try SysXDump again. 
  420.  
  421. Error occurs   Only during program startup. 
  422.  
  423. Result         SysXDump terminates returning RC=100. 
  424.  
  425.  
  426. ΓòÉΓòÉΓòÉ 4.5. Can't start MIDI Receive thread! ΓòÉΓòÉΓòÉ
  427.  
  428. Synopsis       SysXDump uses multiple threads for inputting and outputting MIDI 
  429.                data.  This allows you to abort any MIDI transfer in progress, 
  430.                or end the program at any time, by pressing the ESC key on your 
  431.                computer.  SysXDump needs OS/2 to startup the MIDI Receive 
  432.                thread. 
  433.  
  434. Cause          For some reason, OS/2 didn't startup SysXDump's MIDI Receive 
  435.                thread. 
  436.  
  437. Cure           Shut down other apps, or OS/2 itself, and try SysXDump again. 
  438.  
  439. Error occurs   Only during program startup. 
  440.  
  441. Result         SysXDump terminates returning RC=100. 
  442.  
  443.  
  444. ΓòÉΓòÉΓòÉ 4.6. Can't start MIDI Send thread! ΓòÉΓòÉΓòÉ
  445.  
  446. Synopsis       SysXDump uses multiple threads for inputting and outputting MIDI 
  447.                data.  This allows you to abort any MIDI transfer in progress, 
  448.                or end the program at any time, by pressing the ESC key on your 
  449.                computer.  SysXDump needs OS/2 to startup the MIDI Send thread. 
  450.  
  451. Cause          For some reason, OS/2 didn't startup SysXDump's MIDI Send 
  452.                thread. 
  453.  
  454. Cure           Shut down other apps, or OS/2 itself, and try SysXDump again. 
  455.  
  456. Error occurs   Only during program startup. 
  457.  
  458. Result         SysXDump terminates returning RC=100. 
  459.  
  460.  
  461. ΓòÉΓòÉΓòÉ 4.7. Can't open file! ΓòÉΓòÉΓòÉ
  462.  
  463. Synopsis       A file, that you asked SysXDump to open so that you can receive 
  464.                and store data from the MIDI unit, didn't open. 
  465.  
  466. Cause          The filename that you specified is incorrect. 
  467.  
  468. Cure           Check the filename that you entered.  Did you specify some 
  469.                directory that doesn't exist? SysXDump only creates files; not 
  470.                new directories. 
  471.  
  472. Cause          Some other program has this filename currently in use, and is 
  473.                preventing SHARED access. 
  474.  
  475. Cure           Make that other program close this filename. 
  476.  
  477. Cause          You chose to save data upon some media that is write-protected. 
  478.  
  479. Cure           Remove the write-protection. 
  480.  
  481. Error occurs   You're selecting a filename for the MIDI data about to be 
  482.                received from the MIDI unit. 
  483.  
  484. Result         The error level is set to 5, and the receive operation is 
  485.                cancelled. 
  486.  
  487.  
  488. ΓòÉΓòÉΓòÉ 4.8. Unexpected MIDI Status. Skipping SysEx packet! ΓòÉΓòÉΓòÉ
  489.  
  490. Synopsis       During receipt of a SYSEX message from the MIDI device, an 
  491.                illegal MIDI status was received, according to the MIDI spec. 
  492.                SysXDump will throw away the SYSEX packet.  This may or may not 
  493.                be critical to your dump.  After all, the SYSEX message might 
  494.                actually be a message that isn't part of the information that 
  495.                you requested the MIDI unit to send.  The only way to check for 
  496.                certain that your received file is intact is to subsequently 
  497.                send it back to your MIDI unit, and see if the MIDI unit chokes 
  498.                on the send or doesn't receive all of the data you desired. 
  499.  
  500.                Note:  SysXDump properly allows (and ignores) MIDI Realtime 
  501.                       messages sent at any time.  Thus you can use the software 
  502.                       to capture dumps even from units that implement Active 
  503.                       Sense (ie, lots of Roland gear, which gives headaches to 
  504.                       dump utilities that don't account for MIDI Realtime messages).
  505.  
  506. Cause          See above. 
  507.  
  508. Cure           Nothing you can do really.  If you see this message during a 
  509.                receive, then immediately try the receive all over again. 
  510.                Hopefully, the second time will result in no such error.  It's 
  511.                always good to do a couple of receives of your data and save to 
  512.                different files.  Then, you'll have backups. 
  513.  
  514. Error occurs   Anytime during a SYSEX dump, send or receive. 
  515.  
  516. Result         Since this may not be a real error (but you should always try 
  517.                the dump again if you see this message, just to be safe), 
  518.                SysXDump ignores it. 
  519.  
  520.  
  521. ΓòÉΓòÉΓòÉ 4.9. Error writing to the file after X bytes! ΓòÉΓòÉΓòÉ
  522.  
  523. Synopsis       While receiving MIDI data from the unit, there was a problem 
  524.                with being able to write a piece of data to the file that you 
  525.                specified.  The X will be the number of bytes successfully 
  526.                received up to the point when the error occurred. 
  527.  
  528. Cause          The media is full.  (The number of successfully received bytes 
  529.                should have filled up your media). 
  530.  
  531. Cure           Make sure that there is enough room on the media to contain the 
  532.                number of bytes that you intend to receive from the MIDI unit. 
  533.                SysXDump can't predict required space before receiving the data, 
  534.                so use your own judgment. 
  535.  
  536. Error occurs   Anytime during a SYSEX receive from the MIDI unit. 
  537.  
  538. Result         The error level is set to 5, the receive operation is cancelled, 
  539.                and the incompletely received file is erased. 
  540.  
  541.  
  542. ΓòÉΓòÉΓòÉ 4.10. No Sysex packets received! ΓòÉΓòÉΓòÉ
  543.  
  544. Synopsis       At the end of a receive operation (ie, when you finally press 
  545.                some computer key, other than ESC, to tell SysXDump not to look 
  546.                for any more incoming MIDI data), SysXDump checks to see if it 
  547.                actually received any data from the MIDI unit.  If not, it posts 
  548.                this message. 
  549.  
  550. Cause          There's something wrong with your MIDI cable connections. 
  551.  
  552. Cure           Make sure that IN's go to OUT's on the MIDI interface and unit. 
  553.                For handshaking, you need a 2 way connection.  Make sure that 
  554.                you don't have a bad cable. 
  555.  
  556. Cause          Your MIDI unit aborted before sending any data. 
  557.  
  558. Cure           If your MIDI unit provides its own "progress display", watch it 
  559.                during the transfer to verify that your unit is not aborting 
  560.                before sending any data.  Maybe you're trying to do a 
  561.                handshaking transfer without enabling SysXDump's handshaking (in 
  562.                which case, SysXDump is never telling the unit to proceed with 
  563.                the dump).  Don't use Roland or SDS handshaking for a unit that 
  564.                doesn't support one of these protocols.  Instead, have your unit 
  565.                do a non-handshaking dump, and disable SysXDump's handshaking. 
  566.  
  567. Cause          Your handshake settings are incorrect. 
  568.  
  569. Cure           If doing an SDS handshake receive, make sure that your MIDI unit 
  570.                is set to MIDI channel 1.  Roland device ID should also be set 
  571.                to unit 1. 
  572.  
  573. Cause          Your driver and/or interface card isn't feeding MIDI input to 
  574.                SysXDump. 
  575.  
  576. Cure           Contact the driver author to verify that the driver meets the 
  577.                requirements outlined in the section Driver Requirements and 
  578.                Setup.  Try the interface card with its included software to 
  579.                verify that it is receiving MIDI data from your MIDI unit. 
  580.  
  581. Error occurs   At the end of a receive operation. 
  582.  
  583. Result         The error level is set to 5, and the empty file is erased. 
  584.  
  585.  
  586. ΓòÉΓòÉΓòÉ 4.11. Can't find this file! ΓòÉΓòÉΓòÉ
  587.  
  588. Synopsis       A file, that you asked SysXDump to open and send to the MIDI 
  589.                unit, didn't open. 
  590.  
  591. Cause          The filename that you specified is incorrect. 
  592.  
  593. Cure           Check the filename that you entered.  Did you specify some 
  594.                directory and file that exists? 
  595.  
  596.                Note:  SysXDump does not use wildcards.
  597.  
  598. Cause          Some other program has this filename currently in use, and is 
  599.                preventing SHARED access. 
  600.  
  601. Cure           Make that other program close this filename. 
  602.  
  603. Error occurs   You're selecting a filename for a data file to be sent to the 
  604.                MIDI unit. 
  605.  
  606. Result         The error level is set to 5, and the send operation is 
  607.                cancelled. 
  608.  
  609.  
  610. ΓòÉΓòÉΓòÉ 4.12. Driver didn't output MIDI byte! ΓòÉΓòÉΓòÉ
  611.  
  612. Synopsis       While sending a data file to your MIDI unit, if you see this 
  613.                message, then the driver didn't properly output a piece of data. 
  614.  
  615. Cause          Your driver and/or interface card isn't accepting data from 
  616.                SysXDump. 
  617.  
  618. Cure           Terminate any other program that is currently using the driver. 
  619.  
  620.                Note:  If the MIDI unit doesn't seem to be responding to the 
  621.                       send, and you've examined your cable connections, unit's 
  622.                       MIDI channel setting (ie, set to 1), and all other error 
  623.                       conditions associated with handshaking, then contact the 
  624.                       driver author to verify that the driver meets the 
  625.                       requirements outlined in the section Driver Requirements 
  626.                       and Setup, especially if you don't see this error 
  627.                       message.  (ie, If everything else is OK, then this means 
  628.                       that the driver is accepting SysXDump's data, but not 
  629.                       pushing it out of the MIDI interface).
  630.  
  631. Error occurs   Anytime while sending a SYSEX dump to the MIDI unit. 
  632.  
  633. Result         The error level is set to 5, and the send operation is 
  634.                cancelled. 
  635.  
  636.  
  637. ΓòÉΓòÉΓòÉ 4.13. Timeout while awaiting ACK! ΓòÉΓòÉΓòÉ
  638.  
  639. Synopsis       After sending a packet, SysXDump was waiting for an ACK response 
  640.                (ie, handshake) from your MIDI unit.  (In other words, you've 
  641.                enabled SysXDump's handshaking).  This response never came 
  642.                within a reasonable amount of time, so SysXDump assumed that 
  643.                your MIDI unit wasn't properly handling the send. 
  644.  
  645. Cause          There's something wrong with your MIDI cable connections. 
  646.  
  647. Cure           Make sure that IN's go to OUT's on the MIDI interface and unit. 
  648.                For handshaking, you need a 2 way connection. 
  649.  
  650. Cause          You've enabled SysXDump's handshaking, but are sending a data 
  651.                file that was initially received via non-handshaking. Or vice 
  652.                versa. 
  653.  
  654. Cure           If you receive data from a MIDI unit without handshaking, make 
  655.                sure that you turn off handshaking before sending the data back 
  656.                to the MIDI unit.  If you receive data from a MIDI unit with 
  657.                handshaking, make sure that you turn handshaking on before 
  658.                sending the data back to the MIDI unit.  Many MIDI units have 
  659.                different formats for data dumps depending upon whether you 
  660.                enable or disable handshaking on the unit. 
  661.  
  662. Cause          Your MIDI unit isn't set to MIDI channel 1 (or if a Roland unit, 
  663.                it's device ID is not 1). 
  664.  
  665. Cure           Set it so.  You should always set the MIDI unit to channel 1 
  666.                before receiving data to be stored on the computer.  Later, when 
  667.                you wish to send the data back to the unit, if you set the unit 
  668.                to 1, this will eliminate any problems with mismatched MIDI 
  669.                channels (or Device ID) in messages. 
  670.  
  671. Cause          Your Roland unit's Model ID doesn't match the ID of the unit 
  672.                that initially created the data. Or, you've specified the wrong 
  673.                Model ID for SysXDump handshaking. 
  674.  
  675. Cure           Make sure that the unit that created the data also accepts that 
  676.                data being sent back to it.  If so, then you've properly 
  677.                specified the Model ID. 
  678.  
  679. Cause          Your MIDI unit doesn't support the handshake protocol that 
  680.                you're using. 
  681.  
  682. Cure           Don't use Roland or SDS handshaking for a unit that doesn't 
  683.                support one of these protocols.  Instead, disable SysXDump's 
  684.                handshaking, receive data from your unit without handshaking, 
  685.                and send it back likewise. 
  686.  
  687. Cause          There's a conflict with some other unit daisy-chained to your 
  688.                computer's MIDI interface. 
  689.  
  690. Cure           Disconnect all other MIDI units. 
  691.  
  692. Cause          The file that you chose to send wasn't created by SysXDump (or 
  693.                some other "MIDIEX" derivative software).  In other words, it's 
  694.                not a binary, raw SYSEX dump. 
  695.  
  696. Cure           None. 
  697.  
  698. Cause          Your driver and/or interface card isn't pushing SysXDump's data 
  699.                out of the MIDI interface. 
  700.  
  701. Cure           Contact the driver author to verify that the driver meets the 
  702.                requirements outlined in the section Driver Requirements and 
  703.                Setup.  Make sure that your interface isn't filtering SYSEX 
  704.                messages from its output. 
  705.  
  706. Error occurs   Anytime while sending a SYSEX dump (with handshaking) to the 
  707.                MIDI unit. 
  708.  
  709. Result         The error level is set to 5, and the send operation is 
  710.                cancelled. 
  711.  
  712.  
  713. ΓòÉΓòÉΓòÉ 4.14. MIDI unit aborted the send! ΓòÉΓòÉΓòÉ
  714.  
  715. Synopsis       Your MIDI unit sent a SYSEX message that told SysXDump to abort 
  716.                the send.  (ie, You've enabled SysXDump's handshaking). 
  717.  
  718. Cause          You've enabled SysXDump's handshaking, but are sending a data 
  719.                file that was initially received via non-handshaking. 
  720.  
  721. Cure           Make sure that you use handshaking only with data files that 
  722.                were initially received from a MIDI unit with handshaking.  Many 
  723.                MIDI units have different formats for data dumps depending upon 
  724.                whether you enable or disable handshaking on the unit.  If you 
  725.                try to send a non-handshaking dump when the MIDI unit expects 
  726.                otherwise, it may cancel the dump. 
  727.  
  728. Cause          Your MIDI unit didn't receive the data being sent by SysXDump. 
  729.  
  730. Cure           Make sure the unit's MIDI Channel (or Device ID if a Roland 
  731.                unit) is set to 1.  You should always set the MIDI unit to 
  732.                channel 1 before receiving data to be stored on the computer. 
  733.                Later, when you wish to send the data back to the unit, if you 
  734.                set the unit to 1, this will eliminate any problems with 
  735.                mismatched MIDI channels (or Device ID) in messages.  Usually, 
  736.                your MIDI unit will eventually display a "Time out" error if 
  737.                there is no communication happening between the computer and 
  738.                unit.  If the channel is correct, there could be a problem with 
  739.                cable connection.  Or, your Roland unit's Model ID doesn't match 
  740.                the ID of the unit that initially created the data, or you've 
  741.                specified the wrong Model ID for SysXDump handshaking.  Make 
  742.                sure that the unit that created the data also accepts that data 
  743.                being sent back to it.  If so, then you've properly specified 
  744.                the Model ID. 
  745.  
  746. Cause          Your MIDI unit encountered its own internal error while 
  747.                accepting data. 
  748.  
  749. Cure           Examine the error message that your unit (hopefully) displays, 
  750.                and consult its owners manual for solutions. 
  751.  
  752. Cause          The data file that you're sending has a checksum error (ie, was 
  753.                somehow corrupted).  Usually, the MIDI unit will display a 
  754.                message about such. 
  755.  
  756. Cure           Send a backup file. 
  757.  
  758. Cause          There's a conflict with some other unit daisy-chained to your 
  759.                computer's MIDI interface. 
  760.  
  761. Cure           Disconnect all other MIDI units. 
  762.  
  763. Cause          The file that you chose to send wasn't created by SysXDump (or 
  764.                some other "MIDIEX" derivative software).  In other words, it's 
  765.                not a binary, raw SYSEX dump. 
  766.  
  767. Cure           None. 
  768.  
  769. Error occurs   Anytime while sending a SYSEX dump (with handshaking) to the 
  770.                MIDI unit. 
  771.  
  772. Result         The error level is set to 5, and the send operation is 
  773.                cancelled. 
  774.  
  775.  
  776. ΓòÉΓòÉΓòÉ 4.15. No Sysex packets sent! ΓòÉΓòÉΓòÉ
  777.  
  778. Synopsis       At the end of a send operation (ie, when SysXDump has 
  779.                successfully transmitted any and all data in the file), SysXDump 
  780.                checks to see if it actually sent any data to the MIDI unit.  If 
  781.                not, it posts this message. 
  782.  
  783. Cause          Your data file contains no data.  You can check this by using 
  784.                OS/2's dir command to verify that the size of the file is 0 
  785.                bytes.  Perhaps some other software overwrote this file. 
  786.  
  787. Cure           Send a backup file. 
  788.  
  789. Error occurs   At the end of a send operation. 
  790.  
  791. Result         The error level is set to 5. 
  792.